# 读取表头
header=`cat empty.CSV | head -n 1`

stuno=$[ $1 ]  # 序号
subject=$2  # 科目
newres=$3  # 新分数
kn=$4  # 系数
dstfile=$5  # 目标文件

tempfilename="temp$5"
cp $5 $tempfilename

headern=`echo $header | cut -d ',' -f 1- --output-delimiter $'\n' | grep -c ""`
echo 字段数为$headern

# 查询学生原信息
noindex=1
while [ $(echo $header | cut -d ',' -f $noindex) != "学号" ]
do
    noindex=$[ $noindex + 1 ]
    if [ $noindex -eq $[$headern + 1] ]
    then
        echo 未发现“学号”字段名，即将退出
        exit 0
    fi
done
echo 序号字段索引为：$noindex
oriinf=""
rowno=0
while read line
do
    rowno=$[ $rowno + 1 ]
    if [ $( echo $line | cut -d ',' -f $noindex ) == $stuno ]; then
        oriinf=$line
        break
    fi
done < $5
if [ $oriinf == "" ]; then
    echo 不存在序号为$stuno的学生信息，即将退出
    exit 0
fi
echo 行号：$rowno
echo 原始信息：$oriinf

dstinf=""
i=1
# newreswkn=$[ $newres * $kn ]
newreswkn=$( echo "$newres $kn" | awk '{printf("%.2f",$1*$2)}' )
while [ $i -le $headern ]
do
    # echo $dstinf
    if [ $i -gt 1 ]; then
        dstinf="$dstinf,"
    fi
    # if [ $( echo $header | cut -d ',' -f $i ) == $subject ]&&[ $(( $( echo $oriinf | cut -d ',' -f $i ) )) -lt $newreswkn ]; then
    if [ $( echo $header | cut -d ',' -f $i ) == $subject ] && [ $( echo "$(( $( echo $oriinf | cut -d ',' -f $i )  )) $newreswkn" | awk '{printf("%d", $1<$2)}' ) -eq 1 ]; then
        dstinf=$dstinf$newreswkn
    else
        oldres=$( echo $oriinf | cut -d ',' -f $i )
        # echo $oldres
        dstinf="$dstinf$oldres"
    fi
    i=$[ $i + 1 ]
done
echo 更新信息：$dstinf

# 更新信息
# echo `sed $rowno"c"$dstinf empty_1.CSV`
# echo ！！！
sed $rowno"c"$dstinf "temp$5" > $5
rm -f "temp$5"

#stuinf=`cat empty.CSV | while read line; do if`

# a=`echo $a | cut -d ',' -f 1-3 --output-delimiter $'\n' | head -n 2`
# echo $a